package com.example.children.Connection;

import com.example.children.yyz.TechnicalAchievement;

import java.util.List;

public interface JDBCRepository<T, ID> {
    // 插入一条数据
    void insert(T entity);

    // 插入多条数据
    void insertBatch(List<T> entities);

    // 根据主键更新数据
    void updateById(ID id, T entity);

    // 根据主键更新数据
    void updateById(String id, TechnicalAchievement entity);

    // 根据条件更新数据
    void updateByCondition(String condition, Object[] params, T entity);

    // 根据主键删除数据
    void deleteById(ID id);

    // 根据主键批量删除数据
    void deleteByIds(List<ID> ids);

    // 根据条件删除数据
    void deleteByCondition(String condition, Object[] params);

    // 根据主键查询数据
    T findById(ID id);

    // 查询所有数据
    List<T> findAll();

    // 根据条件查询数据
    List<T> findByCondition(String condition, Object[] params);

    // 分页查询数据
    List<T> findPage(String condition, Object[] params, int pageNum, int pageSize);
}

